package game.Player;

import game.SceneObject;

public abstract class Controller extends SceneObject {
    protected Player player;

    /**
     * Constructor.
     *
     * @param player Player controlled by the controller.
     */
    public Controller(Player player) throws Exception {
        super();
        this.player = player;
        this.player.setController(this);
        this.player.team.getController().addController(this);
    }

    /**
     * Called on every frame.
     *
     * @param deltaTime Time passed since last frame was rendered.
     */
    public abstract void update(double deltaTime);

    public abstract void notifyRoundStart();

    public abstract void notifyDamageDone(Player inflictor);

}
